package com.taijihuabao.modules.mapper;

import com.taijihuabao.modules.entity.PermissionEntity;
import com.taijihuabao.modules.model.permission.vo.PermissionInfoVO;

import java.util.List;

/**
 * 权限管理
 * @author Wang
 */
public interface PermissionMapper {

    /**
     * 权限列表
     *
     * @param permissionEntity
     * @return
     */
    List<PermissionEntity> selectAllPermissions(PermissionEntity permissionEntity);

    /**
     * 获取所有权限
     *
     * @return
     */
    List<PermissionEntity> selectAll();

    /**
     * 信息
     *
     * @param id
     * @return
     */
    PermissionInfoVO selectById(Long id);

    /**
     * 查找已删除的权限
     *
     * @param id
     * @return
     */
    PermissionEntity selectDelPermission(Long id);

    /**
     * 新增权限
     *
     * @param permissionEntity
     */
    void insertPermission(PermissionEntity permissionEntity);

    /**
     * 修改权限
     *
     * @param permissionEntity
     */
    void updatePermission(PermissionEntity permissionEntity);

    /**
     * 恢复已删除的权限
     *
     * @param permissionEntity
     */
    void updateDelPermission(PermissionEntity permissionEntity);

    /**
     * 逻辑删除权限
     *
     * @param permissionEntity
     */
    void deletePermission(PermissionEntity permissionEntity);

}
